package com.mars.module.tool.response;

import com.mars.module.tool.entity.GenControllerMethods;
import com.mars.module.tool.entity.GenTableColumn;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.List;


/**
 * 功能描述
 *
 * @author 程序员Mars
 * @version 1.0
 * @date 2023-11-08 09:43:07
 */
@Data
public class GenTableResponse {

    /**
     * 编号
     */
    private Long tableId;

    /**
     * 表名称
     */
    private String tableName;

    /**
     * 表描述
     */
    private String tableComment;

    /**
     * 实体类名称(首字母大写)
     */
    private String className;

    /**
     * 使用的模板（crud单表操作 tree树表操作）
     */
    private String tplCategory;

    /**
     * 生成包路径
     */
    private String packageName;

    /**
     * 生成模块名
     */
    private String moduleName;

    /**
     * 生成业务名
     */
    private String businessName;

    /**
     * 生成功能名
     */
    private String functionName;

    /**
     * 生成作者
     */
    private String functionAuthor;


    /**
     * 其它生成选项
     */
    private String options;


    /**
     * 生成菜单类型 1 目录 2 菜单
     */
    private String genMenuType;

    /**
     * 生成父级菜单id
     */
    private Long genParentMenuId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private LocalDateTime updateTime;

    /**
     * 是否生成控制器 0 生成 1 不生成
     */
    @ApiModelProperty(value = "是否生成控制器")
    private Integer genController;

    /**
     * 是否生成前端html、js 0 生成 1 不生成
     */
    @ApiModelProperty(value = "是否生成前端html")
    private Integer genHtmlJs;

    /**
     * 列信息
     */
    @ApiModelProperty(value = "列信息")
    private List<GenTableColumn> genTableColumnList;

    /**
     * 控制器方法
     */
    @ApiModelProperty(value = "控制器方法")
    private GenControllerMethods genControllerMethods;

}
